package com.tct.smartRE.fwk.domain;

import java.util.Date;

public class User extends BusinessObject {
	public static final int DEFAULT_MAX_AMOUNT = 5;
	
	private String userName = "";
	private String password = "";
	private String firstName = "";
	private String lastName = "";
	private String email = "";
	private boolean isBlock = false;
	private Date registerDate;
	private Date lastVisitedDate;
	private int amountOfProperties = DEFAULT_MAX_AMOUNT;
	private String address1 = "";
	private String address2 = "";
	private String postCode = "";
	private ItemCode state;
	private ItemCode country;
	private String phone = "";
	private String fax = "";
	private String mobile = "";
	
	private UserGroup userGroup;
	
	public User() {
	}

	/**
	 * @param firstName the firstName to set
	 */
	public void setFirstName(String firstName) {
		this.firstName = firstName;
	}

	/**
	 * @return the firstName
	 */
	public String getFirstName() {
		return firstName;
	}

	/**
	 * @param lastName the lastName to set
	 */
	public void setLastName(String lastName) {
		this.lastName = lastName;
	}

	/**
	 * @return the lastName
	 */
	public String getLastName() {
		return lastName;
	}

	public String getFullName() {
		return firstName+" " + lastName;
	}
	/**
	 * @param email the email to set
	 */
	public void setEmail(String email) {
		this.email = email;
	}

	/**
	 * @return the email
	 */
	public String getEmail() {
		return email;
	}

	public void setIsBlock(boolean isBlock) {
		this.isBlock = isBlock;
	}
	/**
	 * @return the isBlock
	 */
	public boolean getIsBlock() {
		return isBlock;
	}

	public boolean isBlock() {
		return isBlock;
	}
	
	/**
	 * @param registerDate the registerDate to set
	 */
	public void setRegisterDate(Date registerDate) {
		this.registerDate = registerDate;
	}

	/**
	 * @return the registerDate
	 */
	public Date getRegisterDate() {
		return registerDate;
	}

	/**
	 * @param lastVisitedDate the lastVisitedDate to set
	 */
	public void setLastVisitedDate(Date lastVisitedDate) {
		this.lastVisitedDate = lastVisitedDate;
	}

	/**
	 * @return the lastVisitedDate
	 */
	public Date getLastVisitedDate() {
		return lastVisitedDate;
	}

	/**
	 * @param amountOfProperties the amountOfProperties to set
	 */
	public void setAmountOfProperties(int amountOfProperties) {
		this.amountOfProperties = amountOfProperties;
	}

	/**
	 * @return the amountOfProperties
	 */
	public int getAmountOfProperties() {
		return amountOfProperties;
	}

	/**
	 * @param address1 the address1 to set
	 */
	public void setAddress1(String address1) {
		this.address1 = address1;
	}

	/**
	 * @return the address1
	 */
	public String getAddress1() {
		return address1;
	}

	/**
	 * @param address2 the address2 to set
	 */
	public void setAddress2(String address2) {
		this.address2 = address2;
	}

	/**
	 * @return the address2
	 */
	public String getAddress2() {
		return address2;
	}

	/**
	 * @param postCode the postCode to set
	 */
	public void setPostCode(String postCode) {
		this.postCode = postCode;
	}

	/**
	 * @return the postCode
	 */
	public String getPostCode() {
		return postCode;
	}

	/**
	 * @param state the state to set
	 */
	public void setState(ItemCode state) {
		this.state = state;
	}

	/**
	 * @return the state
	 */
	public ItemCode getState() {
		return state;
	}

	/**
	 * @param country the country to set
	 */
	public void setCountry(ItemCode country) {
		this.country = country;
	}

	/**
	 * @return the country
	 */
	public ItemCode getCountry() {
		return country;
	}

	/**
	 * @param phone the phone to set
	 */
	public void setPhone(String phone) {
		this.phone = phone;
	}

	/**
	 * @return the phone
	 */
	public String getPhone() {
		return phone;
	}

	/**
	 * @param fax the fax to set
	 */
	public void setFax(String fax) {
		this.fax = fax;
	}

	/**
	 * @return the fax
	 */
	public String getFax() {
		return fax;
	}

	/**
	 * @param mobile the mobile to set
	 */
	public void setMobile(String mobile) {
		this.mobile = mobile;
	}

	/**
	 * @return the mobile
	 */
	public String getMobile() {
		return mobile;
	}

	public void setUserName(String userName) {
		this.userName = userName;
	}

	public String getUserName() {
		return userName;
	}

	public void setPassword(String password) {
		this.password = password;
	}

	public String getPassword() {
		return password;
	}

	public void setUserGroup(UserGroup userGroup) {
		this.userGroup = userGroup;
	}

	public UserGroup getUserGroup() {
		return userGroup;
	}
}
